From 69314ce9e5d9a5005231d5a203f273e1165f7105 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 12 May 2014 23:49:28 -0400 Subject: [PATCH] Drop GtkArrow use in GtkMenuButton This is in preparation for GtkArrow getting deprecated. https://bugzilla.gnome.org/show_bug.cgi?id=729564 --- gtk/gtkmenubutton.c | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/gtk/gtkmenubutton.c b/gtk/gtkmenubutton.c index 08a5f5f3aa..734601c0dc 100644 --- a/gtk/gtkmenubutton.c +++ b/gtk/gtkmenubutton.c @@ -105,7 +105,6 @@ #include "gtkmenubutton.h" #include "gtkmenubuttonprivate.h" -#include "gtkarrow.h" #include "gtktypebuiltins.h" #include "gtkwindow.h" #include "gtkmain.h" @@ -590,12 +589,35 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass) gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_BUTTON_ACCESSIBLE); } +static void +set_arrow_type (GtkImage *image, + GtkArrowType arrow_type) +{ + switch (arrow_type) + { + case GTK_ARROW_NONE: + case GTK_ARROW_DOWN: + gtk_image_set_from_icon_name (image, "pan-down-symbolic", GTK_ICON_SIZE_BUTTON); + break; + case GTK_ARROW_UP: + gtk_image_set_from_icon_name (image, "pan-up-symbolic", GTK_ICON_SIZE_BUTTON); + break; + case GTK_ARROW_LEFT: + gtk_image_set_from_icon_name (image, "pan-start-symbolic", GTK_ICON_SIZE_BUTTON); + break; + case GTK_ARROW_RIGHT: + gtk_image_set_from_icon_name (image, "pan-end-symbolic", GTK_ICON_SIZE_BUTTON); + break; + } +} + static void add_arrow (GtkMenuButton *menu_button) { GtkWidget *arrow; - - arrow = gtk_arrow_new (menu_button->priv->arrow_type, GTK_SHADOW_NONE); + + arrow = gtk_image_new (); + set_arrow_type (GTK_IMAGE (arrow), menu_button->priv->arrow_type); gtk_container_add (GTK_CONTAINER (menu_button), arrow); gtk_widget_show (arrow); menu_button->priv->arrow_widget = arrow; @@ -983,7 +1005,7 @@ gtk_menu_button_set_direction (GtkMenuButton *menu_button, if (priv->arrow_widget != child) return; - gtk_arrow_set (GTK_ARROW (child), priv->arrow_type, GTK_SHADOW_NONE); + set_arrow_type (GTK_IMAGE (child), priv->arrow_type); update_popover_direction (menu_button); } -- 2.30.2